package mylab.io.base;

import mylab.base.foundation.lang.Callback;
import mylab.io.base.fsm.DasState;
import mylab.io.base.model.Endpoint;

/**
 * 状态机 - finite state machine
 */
public interface FSM extends Endpoint {
    DasState getDasState();

    void setDasState(DasState state);

    void initialize(Callback<Void> callback);

    void start(Callback<Void> callback);

    void stop(Callback<Void> callback);

    void dispose(Callback<Void> callback);
}
